package com.ruoyi.business.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 系统登录和参数日志对象 system_logs
 * 
 * @author DL
 * @date 2025-07-09
 */
@Data
public class SystemLogs extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 日志唯一ID */
    private String id;

    /** 用户登录名 */
    @Excel(name = "用户登录名")
    private String loginName;

    /** 登录设备标识(如设备型号/IP地址) */
    @Excel(name = "登录设备标识(如设备型号/IP地址)")
    private String loginDevice;

    /** 参数名称 */
    @JsonProperty("paramName")
    @Excel(name = "参数名称")
    private String paramName;

    /** 参数值 */
    @JsonProperty("paramValue")
    @Excel(name = "参数值")
    private String paramValue;

    /** 记录创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "记录创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createdAt;
    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("loginName", getLoginName())
            .append("loginDevice", getLoginDevice())
            .append("paramName", getParamName())
            .append("paramValue", getParamValue())
            .append("createdAt", getCreatedAt())
            .toString();
    }
}
